package com.songshuai.customer.client.feign;

import com.songshuai.webapi.baseapi.dto.feign.request.custminiprogram.*;
import com.songshuai.webapi.baseapi.dto.feign.response.DictionaryDto;
import com.songshuai.webapi.baseapi.dto.feign.response.custminiprogram.*;
import com.songshuai.webapi.baseapi.dto.pangu.request.service.AddInviteServiceItemReqDto;
import com.songshuai.webapi.baseapi.dto.pangu.request.service.ServiceReqDto;
import com.songshuai.webapi.baseapi.dto.pangu.response.service.InviteServiceItemTreeResDto;
import com.songshuai.webapi.baseapi.enumerations.ResultStatus;
import com.songshuai.webapi.baseapi.model.custminiprogram.YixueBaseCity;
import com.songshuai.webapi.baseapi.pojo.QueryResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.util.ArrayList;
import java.util.List;
@Component
public class PanguApiClientFallback implements PanguApiClient {
    @Override
    public QueryResponse<List<MeetingListResDto>> getMeetingListByUserId(String customId) {
        MeetingListResDto meetingListResDto=new MeetingListResDto();
        return QueryResponse.setResData(new ArrayList().add(meetingListResDto));
    }

    @Override
    public QueryResponse<MeetingDetailResDto> getMeetingDetail(MeetingDetailReqDto parm) {
        return QueryResponse.setResData(new MeetingDetailResDto());
    }

    @Override
    public QueryResponse<List<InvitationTemplateResDto>> getInvitationTemplateByCode(String meetingCode) {
        InvitationTemplateResDto invitationTemplateResDto=new InvitationTemplateResDto();
        return QueryResponse.setResData(new ArrayList<>().add(invitationTemplateResDto));
    }

    @Override
    public QueryResponse<WxQRCodeResDto> getWxQRCode(WxQRCodeReqDto parm) {
        return QueryResponse.setResData(new WxQRCodeResDto());
    }

    @Override
    public QueryResponse<MeetingReceiptResDto> getMeetingReceipt(MeetingReceiptReqDto parm) {
        return QueryResponse.setResData(new MeetingReceiptResDto());
    }
    @Override
    public QueryResponse<AddMeetingReceiptResDto> addMeetingReceipt(AddMeetingReceiptReqDto parm) {
        return QueryResponse.setResData(new AddMeetingReceiptResDto());
    }

    @Override
    public QueryResponse<List<StationResDto>> getAreaStations(String meetingCode) {
        StationResDto stationResDto=new StationResDto();
        return QueryResponse.setResData(new ArrayList().add(stationResDto));
    }

    @Override
    public QueryResponse<List<StationResDto>> getAllStations() {
        StationResDto stationResDto=new StationResDto();
        return QueryResponse.setResData(new ArrayList().add(stationResDto));
    }

    @Override
    public QueryResponse<StationResDto> getStationById(Integer id) {
        StationResDto stationResDto=new StationResDto();
        return QueryResponse.setResData(new ArrayList().add(stationResDto));
    }

    @Override
    public QueryResponse queryActivityList(String userId) {
        return new QueryResponse(ResultStatus.ERROR_SEARCH_FAILED);
    }

    @Override
    public QueryResponse getSale(String userId) {
        return new QueryResponse(ResultStatus.ERROR_SEARCH_FAILED);
    }

    @Override
    public QueryResponse queryActivityCount(String userId) {
        return new QueryResponse(ResultStatus.ERROR_SEARCH_FAILED);
    }

    @Override
    public QueryResponse<List<DictionaryDto>> queryDictionariesByType(Integer type) {
        DictionaryDto dictionaryDto=new DictionaryDto();
        return QueryResponse.setResData(new ArrayList<>().add(dictionaryDto));
    }

    @Override
    public QueryResponse<DictionaryDto> queryDictionaryDetail(Integer id) {
        return QueryResponse.setResData(new DictionaryDto());
    }

    @Override
    public QueryResponse uploadPicture(MultipartFile file, Integer imgMaxSize, String basePath, String imgPath) {
        return new QueryResponse(ResultStatus.ERROR_PIC_UPLOAD);
    }

    @Override
    public QueryResponse uploadPictureOss(MultipartFile file) {
        return new QueryResponse(ResultStatus.ERROR_PIC_UPLOAD);
    }

    @Override
    public QueryResponse<List<InviteServiceItemTreeResDto>> getAllServiceList() {
        return QueryResponse.setResData(new ArrayList<>().add(new InviteServiceItemTreeResDto()));
    }

    @Override
    public QueryResponse<List<String>> getInviteServiceItems(ServiceReqDto reqDto) {
        return QueryResponse.setResData(new ArrayList<>().add(""));
    }

    @Override
    public QueryResponse<Boolean> addInviteServiceItem(AddInviteServiceItemReqDto reqDto) {
        return QueryResponse.setResData(new ArrayList<>().add(false));
    }

    @Override
    public QueryResponse<List<YixueBaseCity>> queryAreaByParentId(Integer pId) {
        YixueBaseCity yixueBaseCity=new YixueBaseCity();
        return QueryResponse.setResData(new ArrayList<>().add(yixueBaseCity));
    }
}
